home *** CD-ROM | disk | FTP | other *** search
- /*
- rdmos.c
- */
-
-
- #include <ryosuke.h>
- #include <usrlib.h>
- #include <mos.h>
-
-
- #define STARTX 320
- #define STARTY 240
-
-
- static char mwk[4096];
- static char patwk[258];
-
- #define XOFS 50
- #define YOFS 16
-
-
- void minit()
- {
- MOS_start( mwk, 4096 );
- // MOS_setpos(STARTX,STARTY);
- MOS_horizon(0, 640+XOFS*2);
- MOS_vertical(0, 480+YOFS*2);
- MOS_setpos(XOFS+0,YOFS+0);
- MOS_typeRom(81,XOFS,YOFS, patwk);
- }
-
-
- void mend()
- {
- MOS_end();
- }
-
-
- void rdmos(MSDAT *msdat)
- {
- int msx,msy,msb; char i,*bp;
- MOS_rdpos(&msb,&msx,&msy);
- msx -= XOFS;
- msy -= YOFS;
- msdat->dx = msx - msdat->x;
- msdat->dy = msy - msdat->y;
- msdat->x = msx;
- msdat->y = msy;
- // msdat->x += (msdat->dx = msx - STARTX);
- // msdat->y += (msdat->dy = msy - STARTY);
- // MOS_setpos(STARTX,STARTY);
- for (i=0; i<2; i++,(msb>>=1))
- {
- bp = (i==0 ? &(msdat->btn1) : &(msdat->btn2));
- if (msb & 1)
- *bp = ((*bp == OFF || *bp == ONOFF) ? OFFON : ON);
- else
- *bp = ((*bp == OFF || *bp == ONOFF) ? OFF : ONOFF);
- }
- }
-
-
- void mous_setpos(MSDAT *msdat, int x,int y)
- {
- MOS_setpos(XOFS+x,YOFS+y);
- msdat->x = x;
- msdat->y = y;
- msdat->dx = msdat->dy = 0;
- }
-
-
- void mous_typeRom(int type)
- {
- MOS_typeRom(type, XOFS,YOFS, patwk);
- }
-
-
- void mous_type(int mode, char *pattern)
- {
- MOS_type(mode, XOFS,YOFS, pattern);
- }
-
-
- /* end of rdmos.c */
-